Compiler Optimization Verification and Maintenance

ثبت نشده
چکیده

Due to the complexity of a compiler, it is difficult for compiler developers to prove the correctness of output of intermediate representations or profiling information manually after applying optimizations. Moreover, it is important to choose good test cases to test the optimization code’s changes, however, it is not simple to build separated test cases to cover every possible optimizations. This proposal proposes automatic techniques to prove the correctness of an IR, the correctness of its annotations for correct profiling information, and to generate test cases according to the kinds of optimizations. Moreover, the test case size can be reduced by using bug isolation techniques. We focus our techniques on loop nest optimizations in the GNU C compiler with SPEC-CPU2006 benchmark test suites.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dynamic Optimization of Modelica Models – Language Extensions and Tools

The Modelica language is currently gaining increased interest, both in industry and in academia. Modelica is an object-oriented, general purpose modeling language, targeted at modeling of complex physical systems. While the main usage of models developed in Modelica is simulation, several other usages emerge. Examples of such usages are dynamic optimization, model reduction, calibration, verifi...

متن کامل

Using Program Analysis Infrastructure for Software Maintenance

Enabling the reuse of available techniques and tools for software maintenance is a major topic. However, research focuses mostly on two topics: parsing and tool interoperability. In the future, more sophisticated approaches to maintenance will be needed and dataflow analysis has to be used. As building dataflow analyzers for real languages is expensive, we must start to provide reusable dataflo...

متن کامل

Formal verification of automatically generated C-code from polychronous data-flow equations

Synchronous data-flow languages are used as design approaches in developing embedded and critical real-time systems in which synchronous programs are verified by applying formal verification. In a synchronous design approach, transformation and optimization are used to transform synchronous programs and generate general purpose executable code. The incorrectness of the transformations make the ...

متن کامل

Compiler Construction Using LOTOS NT

Much academic and industrial effort has been invested in compiler construction. Numerous tools and environments have been developed to improve compiler quality while reducing implementation and maintenance costs. In the domain of computer-aided verification, most tools involve compilation and/or translation steps. This is the case with the tools developed by the Vasy team of Inria Rhône-Alpes, ...

متن کامل

A Framework for Formal Verification of Compiler Optimizations

In this article, we describe a framework for formally verifying the correctness of compiler optimizations. We begin by giving formal semantics to a variation of the TRANS language [6], which is designed to express optimizations as transformations on control-flow graphs using temporal logic side conditions. We then formalize the idea of correctness of a TRANS optimization, and prove general lemm...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008